rs = [200, 250, 300, 100]
thetas = [0.0, 0.0, 0.0, 0.0]
vs = [0, 0.03, 0.04, 0.00]
Nums = 200

function setup() {
  createCanvas(800, 800);
  noFill()
  stroke(255, 150)
}

function draw() {
  background(0)
  translate(width / 2, height / 2)
  for (var i = 0; i < Nums; i++) {
    xs = []
    ys = []
    for (var k = 0; k < 4; k++) {
      thetas[k] += vs[k] / Nums
      theta = thetas[k] + TWO_PI / Nums * i
      xs.push(cos(theta) * rs[k])
      ys.push(sin(theta) * rs[k])
      stroke(255 / Nums * i, 255 - 255 / Nums * i, 0, 150)
      bezier(xs[1], ys[1], xs[2], ys[2], xs[3], ys[3], xs[0], ys[0])
      stroke(255 / Nums * i, 255 / Nums * i, 0, 150)
      bezier(xs[1], ys[1], xs[3], ys[3], xs[2], ys[2], xs[0], ys[0])
    }
  }
}
